package com.legendframework.core.dao.wrapper.interfaces;

import java.io.Serializable;

/**
 * 与或非连接符
 * <p>拼接</p>
 */
public interface Join<R> extends Serializable {

    /**
     * ignore
     */
    default R or() {
        return or(true);
    }

    /**
     * 拼接 OR
     *
     * @param condition 执行条件
     * @return R
     */
    R or(boolean condition);

    /**
     * ignore
     */
    default R and() {
        return and(true);
    }

    /**
     * 拼接 and
     *
     * @param condition 执行条件
     * @return R
     */
    R and(boolean condition);
}
